Conventional local color correction algorithms include nonlinear masking, Retinex and its derivatives, and piecewise gamma estimation. These algorithms are useful for improving poorly rendered digital images, images with large dynamic ranges, and images with poor illumination. For example, an image captured by a digital camera is underexposed and dark. The local color correction can be used to correct the image for the underexposure.
These conventional algorithms are not convergent in all cases. That is, these conventional algorithms do not provide a unique solution: they do not indicate the amount of color correction (if any) that provides the best image quality. Instead, they provide multiple possible solutions, all of which depend upon input parameters. Moreover, repeated application of a particular algorithm can degrade the overall image quality.
There is a need for a parameter estimate that can determine whether an image should be color-corrected and, if so, by what amount. Ideally, the parameter estimate should be small or zero if a local color correction algorithm has already been applied. Likewise, the parameter estimate should be small or zero if the image does not require local color correction. The parameter-estimate should also be able to detect corner cases of poorly rendered data and images in obvious need of local color correction, and to avoid correcting those images that would not benefit from local color correction.